<?php
	
	mb_internal_encoding("UTF-8");
	
	if (!defined('DS')) {
		define('DS', DIRECTORY_SEPARATOR);
	}
	
	if (!defined('PS')) {
		define('PS', PATH_SEPARATOR);
	}
	
	 /// Main folders paths ======================================
	 
	 
	if (!defined('APP_ROOT')) {
		define('APP_ROOT', dirname(__FILE__) . DS);
	}

	if (!defined('APP_DIR')) {
		define('APP_DIR', basename(dirname(__FILE__)) . DS);
	}
	
	
	/// System file structure ====================================
	
	
	if (!defined('TEMP')) {
		define('TEMP', APP_ROOT . "tmp" . DS);
	}
	
	if (!defined('ENGINE')) {
		define('ENGINE', APP_ROOT . "engine" . DS);
	}
	
	if (!defined('LIBS')) {
		define('LIBS', APP_ROOT . "engine". DS . "libs" . DS);
	}
	
	if (!defined('CONF')) {
		define('CONFIG', APP_ROOT . DS . "config" . DS);
	}
	
	if (!defined('CONTROLLERS')) {
		define('CONTROLLERS', APP_ROOT . "controllers". DS);
	}
	
	if (!defined('VIEWS')) {
		define('VIEWS', APP_ROOT . "views". DS);
	}
	
	
	// SET INCLUDE PATHS =========================================
	
	
	ini_set('include_path', "."
		. PS . APP_ROOT
		. PS . ENGINE . "utils" . DS
	);
	
	
	//============================================================
	
	// Url base do sistema
	if (!defined('WEB_ROOT')) {
		define('WEB_ROOT', "http://" . $_SERVER['SERVER_NAME'] ."/". APP_DIR);
	}
	
	if (!defined('URL')) {
		define('URL', $_SERVER['REQUEST_URI']);
	}
	
	// Joga a url em um vetor
	$_URL	=	explode('/', URL);
	array_shift ($_URL);
	
	
	//============================================================
		
	
	// Requisicao do arquivo de inicialização do Sistema.
    require_once ENGINE . "load.php";
	
	//Chama o dispachante (aqui é aonde ele vai chamar o controller)
	require_once ENGINE . "dispatcher.php";
	$dispatcher = new Dispatcher();

//não fecha php mesmo para evitar problemas com o html